home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chaos CD Blue
/
Chaos_CD_Blue__[1999].iso
/
ds
/
42
/
005_rtc.tex.html.orig
< prev
next >
Wrap
Text File
|
1999-04-05
|
5KB
|
161 lines
<h1>Tick, tick, tick, ...</h1>
<h2>Wenn mensch mal die Zeit braucht</h2>
Für die eine oder andere Anwendung braucht mensch ja auch mal die
Uhrzeit. Nun gibt es Leute, die wälzen Kataloge und holen sich die
ultra, plus-plus, extended - plug in and play Spezialsteine in der
Rüstungsindustrieversion. Nun steckt so ein Teil aber auch in jedem
PC-AT oder ähnlichem Gerät. Wenn mensch nun 'n abgewracktes
Mutterbrett hat, kann sich mensch aus diesem den Stein auslöten
(Ausnahmen: Das C-Mos ist zum ewigen Sand gegangen - Dies ist leider
auch in dem Stein). Wer dies nicht machen möchte dürfte aber
diesen Stein relativ preiswert an der übernächsten Straßenecke
bekommen.
<p>
<h2>Etwas über die Beschaltung</h2>
Das Teil kann sowohl Motorolla- als auch Intel Bussysteme ab, dies
wird Ihm in der "A"-Version über den MOT Eingang mitgeteilt,
ansonsten soll es das über die Timings herausfinden. Bei einem
gemultiplexten Bus kann mensch das Ding einfach wie ein 64-Byte-Ram in
den Rechner reinhängen. Ansonsten kann mensch das Ding aber auch
über zwei Addressen im I/O-Bereich reinhängen (wurde im PC-AT
gemacht). Desweiteren kann menschen den Chip drei verschiedenen Takt-
Frequenzen betreiben: 32.768 kHz, 1.048576 MHz oder 4.194304 MHz,
hierbei gilt: desto höher die Frequenz, desto höher der
Stromverbrauch aber desto höher die Genauigkeit. Unten ist den auch
eine Anschlußbelegung abgedruckt.
<p>
<h2>Die Register</h2>
Nun haben wir den Stein evtl. ausgelötet, auf alle Fälle Ihn oder
den Sockel eingelötet und uns dabei die Finger verbrannt, und
stellen nun fest: wie komm ich an den Stein ran? Nunja dies ergibt
sich aus der Art, wie er auf den Bus aufgesetzt wurde. - Ja, daß
weiß ich selber - wird der geneigte Leser jetzt denken, aber
welche Addressen bedeuten was? Nunja, dafür steht unten eine kleine
Tabelle, in der mensch nachlesen kann, welches Register für was da
ist. Dies einzigen, die wir hier etwas näher erläutern werden sind
die Register A-D, logisch - sie enthalten Sonderfunktionen.
<p>
<pre>
Adresse Verwendung
00 Sekunden (7Bit)
01 Sekunden (A)
02 Minuten
03 Minuten (A)
04 Stunden
05 Stunden (A)
06 Wochentag
07 Tag (Monat)
08 Monat
09 Jahr
10 Reg. A
11 Reg. B
12 Reg. C
13 Reg. D
</pre>
<p>
<h2>Beschreibung Register A</h2>
Die Bits 0 - 3 sind Teiler für einen periodischen Interrupt (Belegung für
f-osz = 32768 Hz: siehe unten), die Bits 4 - 6 legen die Eingangsfrequenz fest
(Belegung: na wo wohl). Das höchste Bit ist gesetzt, wenn gerade ein Update
der Uhr stattfindet. Dann sollte mensch es tunlichst vermeiden, die Uhr
auszulesen, da es dabei zu fehlern kommen kann.
<p>
Periodische Interrupts
<p>
<pre>
B3 B2 B1 B0 f/Hz
0 0 0 1 256
0 0 1 0 128
0 0 1 1 8192
0 1 0 0 4096
0 1 0 1 2048
0 1 1 0 1024
0 1 1 1 512
1 0 0 0 256
1 0 0 1 128
1 0 1 0 64
1 0 1 1 32
1 1 0 0 16
1 1 0 1 8
1 1 1 0 4
1 1 1 1 2
</pre>
<p>
f-Osz
<p>
<pre>
B6 B5 B4 f-Osz/Hz
0 0 0 4194304
0 0 1 1048576
0 1 0 32768
</pre>
<p>
<h2>Beschreibung Register B</h2>
<p>
Mit dem Bit 0 erzählt mensch der RTC, daß sie einen Sommer-/Winterzeit
Ausgleichen machen soll. Leider sind die dafür gegebenen Daten die
amerikanischen und nicht die europäischen. <br>
Mit dem nächsten Bit legt mensch fest, daß die Zeit in 24-Stunden angegeben wird,
ansonsten werden die Stunden in 12-Stunden-Format mit Bit-7 (Stunden) als
am/pm-Flag angegeben.<br>
Das darauffolgende Bit legt fest, ob die Zeit binaer oder in BCD eingegeben und
verarbeitet wird (wenn gesetzt, dann binaer).<br>
Um den Rechteckausgang an dem Stein zu aktivieren sollte mensch Bit 3 setzen.
Wenn mensch nach jedem Update einen Interrupt ausgelöst haben möchte, so
sollte er/sie <i>/es</i> Bit 4 setzen. Wenn er einen Interrupt zur Alarmzeit
(stellbar mit den Registern hinter denen ein (A) steht) ausgelöst haben
möchte sollte er Bit 5 stetzen. Wenn er einen periodischen Interrupt auslösen
können möchte (siehe auch Register A) sollte er <i>/sie/es, daß
Ektoplasma</i>, wie könnte es auch anders sein Bit 6 setzten. Als weitere Option
kann dann mit Bit 7 ein Update abgebrochen resp. "verboten" werden. Dies
sollte mensch machen, wenn er <i>/sie/es</i> die Uhr setzen möchte.
<p>
<h2>Beschreibung Register C</h2>
Dieses Register ist im grossen und ganzen für die Behandlung von Interrupts
zuständig. Bit 7 klärt darüber auf, daß ein Interrupt aus einer
internen Quelle stattgefunden hat. Welcher Interrupt es den nun war, könnt
Ihr aus der unten stehenden Tabelle entnehmen. Zu Bedenken ist nur, daß
beim Auslesen dieses Registers sämtliche Inhalte verlorengehen.
<p>
<pre>
B6 Period. Interr.
B5 Alarm Interr.
B4 Update Interr.
</pre>
<p>
<h2>Beschreibung Register D</h2>
Das einzige, was dieses Register aussagt ist, daß die Spannung OK ist,
und dies im Bit 7.
<p>
<h2>Und der Rest</h2>
Die restlichen Bits sind normaler Speicher, und können, da es unratsam ist,
die Uhr abzuschalten zum Speichern von Daten verwendet werden, die länger
verwendet werden sollen (im PC-AT ist dies das Setup). Achja, bevor ich es
vergesse: der Stein heißt MC146818(A) und ist von Motorolla.
<p>
Autor: rowue
<p>